package jp.seraph.same.model;

import jp.seraph.jsmf.motion.EditableMotion;
import jp.seraph.jsmf.motion.Motion;

public interface MotionModel {
    public int getPoseCount();

    public String getPoseName(int aIndex);

    public PoseModel getPoseModel(int aIndex);

    public PoseModel getPoseModel(String aPoseModelName);

    public void addPose(String aPoseName);

    public boolean removePose(String aPoseName);

    /**
     * このモデルをMotionに変換して返します。 変換後のMotionはこのモデルから切り離されなければなりません。
     *
     * @return
     */
    public EditableMotion toMotion();
}
